package com.yitao.cms.dto.cashCoupons;

import com.skipper.base.dto.BaseDto;
import com.yitao.client.constant.OrderStatusEmnu;
import com.yitao.cms.utils.DateUtils;
import com.yitao.cms.utils.NumberUtil;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * @Author: wwl
 * @Date: 2020/3/15 15:06
 * @Description:
 */
public class CashCouponsExportDto extends BaseDto {

    @ApiModelProperty("用户id")
    private Long userId;
    @ApiModelProperty("昵称")
    private String nickName;
    @ApiModelProperty("手机号")
    private String phone;
    @ApiModelProperty("优惠券id")
    private Long couponsId;
    @ApiModelProperty("优惠券code")
    private String couponsCode;
    @ApiModelProperty("优惠券名称")
    private String couponsName;
    @ApiModelProperty("使用开始时间")
    private Date startTime;
    @ApiModelProperty("使用结束时间")
    private Date endTime;
    @ApiModelProperty("使用时间")
    private Date useTime;
    @ApiModelProperty("使用时间")
    private String useTimeStr;
    @ApiModelProperty("领取时间")
    private Date userGetTime;
    @ApiModelProperty("领取时间")
    private String userGetTimeStr;
    @ApiModelProperty("可使用面额 单位为分")
    private Long faceValue;
    @ApiModelProperty("实际优惠金额(分)")
    private Long actualValue;
    @ApiModelProperty("实际优惠金额(元)")
    private Double actualValueYuan;
    @ApiModelProperty("订单id")
    private Long orderId;
    @ApiModelProperty("订单code")
    private String orderCode;
    @ApiModelProperty("订单总金额 单位为分")
    private Long orderTotalAmount;
    @ApiModelProperty("订单总金额 单位为元")
    private Double orderTotalAmountYuan;
    @ApiModelProperty("实际应该支付金额 单位为分")
    private Long actualAmount;
    @ApiModelProperty("实际应该支付金额 单位为元")
    private Double actualAmountYuan;
    @ApiModelProperty("支付状态")
    private Integer payStatus;
    @ApiModelProperty("支付状态")
    private String payStatusStr;

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public Long getCouponsId() {
        return couponsId;
    }

    public void setCouponsId(Long couponsId) {
        this.couponsId = couponsId;
    }

    public String getCouponsCode() {
        return couponsCode;
    }

    public void setCouponsCode(String couponsCode) {
        this.couponsCode = couponsCode;
    }

    public String getCouponsName() {
        return couponsName;
    }

    public void setCouponsName(String couponsName) {
        this.couponsName = couponsName;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Date getUseTime() {
        return useTime;
    }

    public void setUseTime(Date useTime) {
        this.useTime = useTime;
    }

    public Long getFaceValue() {
        return faceValue;
    }

    public void setFaceValue(Long faceValue) {
        this.faceValue = faceValue;
    }

    public Long getActualValue() {
        return actualValue;
    }

    public void setActualValue(Long actualValue) {
        this.actualValue = actualValue;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getOrderCode() {
        return orderCode;
    }

    public void setOrderCode(String orderCode) {
        this.orderCode = orderCode;
    }

    public Date getUserGetTime() {
        return userGetTime;
    }

    public void setUserGetTime(Date userGetTime) {
        this.userGetTime = userGetTime;
    }

    public String getUseTimeStr() {
        return DateUtils.getDateSecondFormat(useTime);
    }

    public void setUseTimeStr(String useTimeStr) {
        this.useTimeStr = useTimeStr;
    }

    public String getUserGetTimeStr() {
        return DateUtils.getDateSecondFormat(userGetTime);
    }

    public void setUserGetTimeStr(String userGetTimeStr) {
        this.userGetTimeStr = userGetTimeStr;
    }

    public Double getActualValueYuan() {
        return NumberUtil.centToYuanForDouble(actualValue);
    }

    public void setActualValueYuan(Double actualValueYuan) {
        this.actualValueYuan = actualValueYuan;
    }

    public Long getOrderTotalAmount() {
        return orderTotalAmount;
    }

    public void setOrderTotalAmount(Long orderTotalAmount) {
        this.orderTotalAmount = orderTotalAmount;
    }

    public Double getOrderTotalAmountYuan() {
        return NumberUtil.centToYuanForDouble(orderTotalAmount);
    }

    public void setOrderTotalAmountYuan(Double orderTotalAmountYuan) {
        this.orderTotalAmountYuan = orderTotalAmountYuan;
    }

    public Long getActualAmount() {
        return actualAmount;
    }

    public void setActualAmount(Long actualAmount) {
        this.actualAmount = actualAmount;
    }

    public Double getActualAmountYuan() {
        return NumberUtil.centToYuanForDouble(actualAmount);
    }

    public void setActualAmountYuan(Double actualAmountYuan) {
        this.actualAmountYuan = actualAmountYuan;
    }

    public Integer getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(Integer payStatus) {
        this.payStatus = payStatus;
    }

    public String getPayStatusStr() {
        return OrderStatusEmnu.PAY_STATUS.HAVE_PAY.getPayStatusMsg(payStatus);
    }

    public void setPayStatusStr(String payStatusStr) {
        this.payStatusStr = payStatusStr;
    }
}
